#ifdef __cplusplus
extern "C" {
#endif

#include <stdbool.h>

void* load_model(const char *fname, int n_threads);

void model_prompt(const char *prompt, const char *prompt_template, int special, const char *fake_reply, 
                    void *m, char* result, int repeat_last_n, float repeat_penalty, int n_ctx, int tokens, 
                    int top_k, float top_p, float min_p, float temp, int n_batch,float ctx_erase);

void free_model(void *state_ptr);

extern unsigned char getTokenCallback(void *, char *);

#ifdef __cplusplus
}
#endif
